<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Befehlsdecoder</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Befehlsdecoder"> <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Befehlsdecoder rootpage-Befehlsdecoder skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Befehlsdecoder</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p>Der <b>Befehlsdecoder</b> ist ein Teil des <a href="Prozessor" title="Prozessor">Prozessors</a> im Computer, ein sogenannter <a href="Interpreter" title="Interpreter">Interpreter</a>.
</p><p>Seine Aufgabe besteht darin, die <a href="Maschinenbefehl" class="mw-redirect" title="Maschinenbefehl">Maschinenbefehle</a> in Micro-Instructions zu übersetzen und, falls nötig, in einzelne Arbeitsschritte zu zerlegen. Diese werden dann von ihm an die zugehörigen Einheiten der <a href="Central_Processing_Unit" class="mw-redirect" title="Central Processing Unit">Central Processing Unit</a> weitergeleitet.
</p><p>In einem typischen Mikroprozessor mit einer Pipeline werden die Befehle von der <a href="Von-Neumann-Zyklus" title="Von-Neumann-Zyklus">Instruction Fetch Unit</a> (IFU) aus dem Speicher geholt und dann dem Befehlsdecoder übergeben. Anhand des gespeicherten Wertes kann dieser dann den nächsten Befehl entschlüsseln. Vermenschlicht entspricht dies dem Nachschlagen in einer Tabelle. Neben der Dekodierung des Befehls (z. B. Addition oder Sprung) müssen auch die Operanden dekodiert werden. Im Falle einer Addition beispielsweise welche Werte addiert werden sollen.
</p><p>Wie schwierig dieser Vorgang ist, hängt von der jeweiligen Architektur des Prozessors ab. Im günstigen Fall handelt es sich um einen <a href="Reduced_Instruction_Set_Computer" title="Reduced Instruction Set Computer">RISC</a> (Reduced Instruction Set Computer) Prozessor, bei dem jeder Befehl mit der gleichen Anzahl von Bits gespeichert wird. Auch müssen bei der Dekodierung des Befehls nicht neue Mikro-Befehle generiert werden, falls der gespeicherte Befehl es zum Beispiel erfordert einen Operanden aus dem Speicher zu laden. Dies kann bei <a href="CISC" class="mw-redirect" title="CISC">CISC</a> (Complex Instruction Set Computer) Architekturen passieren. Erschwerend kommt bei dieser Architektur hinzu, dass die Befehle häufig unterschiedlich lang sind, also unterschiedlich viele Bits zum Speichern brauchen. Die berühmtesten Vertreter dieser Problematik sind die zum <a href="X86-Prozessor" title="X86-Prozessor">x86</a> Befehlssatz kompatiblen Prozessoren.
</p><p>Ähnlich einfach ist es bei Prozessoren mit <a href="VLIW" class="mw-redirect" title="VLIW">VLIW</a> (Very Long Instruction Word) Architektur. Befehle dieser Architektur sind relativ einfach zu dekodieren, enthalten aber neben der gewünschten Operation und den Operanden auch Informationen über die zu verwendenden Ausführungseinheiten.
</p><p>Die dekodierten Befehle werden an die nachfolgenden Ausführungseinheiten weitergeleitet. Danach kann der nächste Befehl dekodiert werden.
</p></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2015-09-12" href="https://de.wikipedia.org/wiki/?title=Befehlsdecoder&oldid=145965594">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>